﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LcfContols.ExtendForm
{
    /// <summary>
    /// 等待设置CanShow后才显示窗口
    /// </summary>
    public class WaitShowForm : LForm
    {

        /// <summary>
        /// 用户是否调用了Show方法
        /// </summary>
        private bool isShow = false;

        /// <summary>
        /// 是否可以显示窗口
        /// </summary>
        private bool _canShow = false;

        /// <summary>
        /// 是否已经可以显示窗体了
        /// </summary>
        protected bool CanShow
        {
            get
            {
                return _canShow;
            }
            set
            {
                _canShow = value;
                if (value && isShow) //如果用户已经调用了Show方法，则显示Show
                    Show();
            }
        }

        /// <summary>
        /// 显示窗口
        /// </summary>
        public override void Show()
        {
            isShow = true;
            if (CanShow)//如果可以显示，则显示窗口，否则不显示
                base.Show(); 
        }

    }
}
